package cn.hss.thread;

/**
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/28 14:05
 * @Package 包名：cn.hss.thread
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class ThreadStateChangeTest {
	public static void main(String[] args) {
		//t1线程打印1-100之间的偶数
		Thread t1 = new Thread(){
			@Override
			public void run() {
				for(int i=2;i<=100;i +=2){
					System.out.println("偶数线程："+i);
					//每隔1秒输出一个偶数
					try {
						//先暂停1秒
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		};
		//启动t1线程
		t1.start();
		//t2线程打印1-100之间的奇数
		Thread t2 = new Thread(){
			@Override
			public void run() {
				for(int i=1;i<=100;i+=2){
					System.out.println("奇数线程："+i);
					if(i==5){
						// System.out.println("我即将暂停");
						//当打印到5时，让奇数线程暂停，再继续。
						// Thread.yield();
//                        try {
//                       //当打印到5时，让奇数线程暂停2秒，再继续。
//                            Thread.sleep(2000);
//                        } catch (InterruptedException e) {
//                            e.printStackTrace();
//                        }
						//当打印到5时，让奇数线程停下来，让偶数线程执行完再打印
						try {
							t1.join();
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
					}
				}
			}
		};
		//启动t2线程
		t2.start();
	}
}